home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_16_1987_Transactor_Publishing.d64 / relfile count (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  721b  |  17 lines

  1. 100 rem relfile record-length finder in 8 tries
  2. 110 rem elizabeth deal and howard harrison
  3. 120 rem    independent of computer and disk roms
  4. 130 rem    independent of relfile format (reg or jumbo)
  5. 140 rem    does not scan any directory bytes
  6. 150 rem    is a read-only routine - uses just channel 15
  7. 160 open 15,8,15: open 1,8,3,"relfile,r"
  8. 170 mn=1: mx=254         :rem record size range
  9. 180 if mn>mx then close 1: close 15: print"length=";mn-1: end
  10. 190 sz=int((mn+mx)/2)    :rem try length sz=midpoint
  11. 200 print#15,"p"chr$(3+96)chr$(1)chr$(0)chr$(sz):rem rec#1, pos sz
  12. 210 input#15,e,e$,e2$,e3$: rem drive knows all about length!
  13. 220 if e=0  then mn=sz+1 : rem valid length, try higher
  14. 230 if e=51 then mx=sz-1 : rem bad length, try lower
  15. 240 if e=0 or e=51 goto 180
  16. 250 print"bad disk error-"e;e$,e2$,e3$
  17.